import PointServise from "../../../dataservice/PointService"
const pointServise = new PointServise()
Page({
  data: {
    tabs: ['全部', '增加', '减少'],
    activeIndex: 0, // navBar当前选中项
    queryParam: ['all', 'inc', 'desc'], // 对应选项卡的查询参数
    pointChangeRecords: [], // 存储积分的变化记录
    isNoMoreData: false // 是否还有更多数据,false 标识还有更多数据，true:标识没有更多数据了
  },
  onLoad: function () {
    // 页面加载时加载数据
    this.getPointChangeList(this.data.queryParam[this.data.activeIndex])
  },
  // 标签点击事件
  tabClick(e) {
    // 判断当前单击的选项卡与当前选中的选项卡是否一致，如果不一致，再去请求数据
    const activeIndex = Number(e.currentTarget.id)
    if (this.data.activeIndex !== activeIndex) {
      this.setData({
        activeIndex,
        // 切换标签就清除获取到的数组中数据
        pointChangeRecords: [],
        // 切换标签就让显示加载更多的节流阀关闭,否则一直不能加载更多
        isNoMoreData: false
      })
      // 根据不同的类型，查询不同的数据(第二个参数时true表示点击菜单后，让查询数据库的页码赋值为0开始)
      this.getPointChangeList(this.data.queryParam[this.data.activeIndex], true)
    }
  },
  // 获取数据
  getPointChangeList(type, isReset) {
    pointServise.getPointChangeList(type, isReset).then(res => {
      console.log(res)
      //  如果没有数据了，就显示没有数据，不再请求后台
      if (res.data.length < 1) {
        this.setData({
          isNoMoreData: true
        })
      }
      const pointChangeRecords = this.data.pointChangeRecords
      this.setData({
        pointChangeRecords: [...pointChangeRecords, ...res.data]
      })
    })
  },
  // 触底加载更多
  onReachBottom() {
    //  如果没有数据了，开启节流阀,不再请求后台
    if (this.data.isNoMoreData) return
    this.getPointChangeList(this.data.queryParam[this.data.activeIndex])
  }
})